package com.upcode.weighing.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.upcode.weighing.domain.SysRes;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.upcode.weighing.vo.resp.pc.ButtonVo;
import com.upcode.weighing.vo.resp.pc.SysResVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 资源表 Mapper 接口
 * </p>
 *
 * @author alex
 * @since 2019-04-10
 */
@Mapper
public interface SysResMapper extends BaseMapper<SysRes> {
    IPage<SysResVo> selectPageList(@Param("page") Page page, @Param("vo") SysResVo vo);//菜单管理分页列表
    int checkRes(@Param("permission") String permission);//查询菜单是否存在
    int addRes(SysRes res);//新增菜单
    List<SysRes> getRes();//获取所有菜单
    int editRes(SysRes sysRes);//修改菜单
    int delRes(Long[] id);//删除菜单
    List<SysResVo> getParentResList();//获取一级菜单列表
    List<SysResVo> getChildList(@Param("pId")Long pId);//根据一级菜单获取二级菜单
    ButtonVo getButton(@Param("id") Long id);//获取按钮信息
    int updateButton(SysRes sysRes);//修改按钮
    int delButton(Long[] id);//删除按钮
    List<SysRes> getLeftRes();//获取左侧菜单
    int checkVueKey(@Param("vueKey")String vueKey);//检查标识是否重复
    Long checkChild(@Param("id")Long id);//二级菜单下不允许再添加菜单
    SysRes getEditRes(@Param("id")Long id);//获取要修改的菜单信息

    List<SysRes> listByUserId(@Param("userId")Long userId);
}
